package dao.fachada;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import models.Produto;
import models.Tag;
import models.Usuario;

import dao.ConexaoBanco;
import dao.FachadaDAO;
import dao.ListaPresenteDAO;
import dao.ProdutoDAO;

public class FachadaListaPresenteDAO {
	
	private static FachadaListaPresenteDAO singleton = null;
	
	private java.sql.Connection conexao;
	private ConexaoBanco conexaoBanco;
	
	public static FachadaListaPresenteDAO getInstance() {
        if (singleton == null) {
	        // "lazy instantiation"
	        singleton = new FachadaListaPresenteDAO();
        }
        return singleton;
    }
	
	private Connection openConexaoBanco(){
		this.conexaoBanco = new ConexaoBanco();		
		this.conexao = this.conexaoBanco.openConexao();
	
		return this.conexao;
	}
	
	public void addPresenteLista(Usuario usuario, List<Produto> listaProdutos){
		ListaPresenteDAO listaPresenteDAO = new ListaPresenteDAO();
		listaPresenteDAO.addListaPresente(usuario, listaProdutos);
	}
	
	public void alterar(Tag tag) throws SQLException{
		String comandoAlterar = "UPDATE tag SET  nome = ? WHERE  tag.id = ?;";
	
		PreparedStatement p = this.conexao.prepareStatement(comandoAlterar);
		
		p.setString(1, tag.getNome());
		p.setInt(2, tag.getId());
		
		p.execute();
		
		return;
	}

}
